package com.yida.gwj.deposit.domain.request;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.util.Date;

/**
 * @Description 缴存业务管理-金额参数对象
 * @Author wws
 * @Date 2023-02-17
 */
@ApiModel("金额信息")
public class GwjDepositBusinessMoneyRequest {

    @ApiModelProperty("业务金额主键")
    private Long bizMoneyId;

    @ApiModelProperty("缴存对象")
    private String depositObject;

    @ApiModelProperty("资金性质")
    private String capitalProperty;

    @ApiModelProperty("缴存状态")
    private String depositStatus;

    @ApiModelProperty("涉及总户数")
    private Long totalOwner;

    @ApiModelProperty("涉及总金额")
    private BigDecimal totalMoney;

    @ApiModelProperty("实际金额")
    private BigDecimal factMoney;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty("缴款日期")
    private Date depositTime;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty("到账时间")
    private Date accountTime;

    @ApiModelProperty("缴交标准（元/平方米）")
    @NotNull(message = "缴费标准不能为空")
    private Long calculateTypeId;

    @Override
    public String toString() {
        final StringBuffer sb = new StringBuffer("GwjDepositBusinessMoneyRequest{");
        sb.append("bizMoneyId=").append(bizMoneyId);
        sb.append(", depositObject=").append(depositObject);
        sb.append(", capitalProperty='").append(capitalProperty).append('\'');
        sb.append(", depositStatus='").append(depositStatus).append('\'');
        sb.append(", totalOwner=").append(totalOwner);
        sb.append(", totalMoney=").append(totalMoney);
        sb.append(", factMoney=").append(factMoney);
        sb.append(", depositTime=").append(depositTime);
        sb.append(", accountTime=").append(accountTime);
        sb.append(", calculateTypeId='").append(calculateTypeId).append('\'');
        sb.append('}');
        return sb.toString();
    }

    public Long getBizMoneyId() {
        return bizMoneyId;
    }

    public void setBizMoneyId(Long bizMoneyId) {
        this.bizMoneyId = bizMoneyId;
    }

    public String getDepositObject() {
        return depositObject;
    }

    public void setDepositObject(String depositObject) {
        this.depositObject = depositObject;
    }

    public String getCapitalProperty() {
        return capitalProperty;
    }

    public void setCapitalProperty(String capitalProperty) {
        this.capitalProperty = capitalProperty;
    }

    public String getDepositStatus() {
        return depositStatus;
    }

    public void setDepositStatus(String depositStatus) {
        this.depositStatus = depositStatus;
    }

    public Long getTotalOwner() {
        return totalOwner;
    }

    public void setTotalOwner(Long totalOwner) {
        this.totalOwner = totalOwner;
    }

    public BigDecimal getTotalMoney() {
        return totalMoney;
    }

    public void setTotalMoney(BigDecimal totalMoney) {
        this.totalMoney = totalMoney;
    }

    public BigDecimal getFactMoney() {
        return factMoney;
    }

    public void setFactMoney(BigDecimal factMoney) {
        this.factMoney = factMoney;
    }

    public Date getDepositTime() {
        return depositTime;
    }

    public void setDepositTime(Date depositTime) {
        this.depositTime = depositTime;
    }

    public Date getAccountTime() {
        return accountTime;
    }

    public void setAccountTime(Date accountTime) {
        this.accountTime = accountTime;
    }

    public Long getCalculateTypeId() {
        return calculateTypeId;
    }

    public void setCalculateTypeId(Long calculateTypeId) {
        this.calculateTypeId = calculateTypeId;
    }
}
